Quickstart
Go from a fresh server to a live, HTTPS-secured app in under 10 minutes.
This is the fastest path from nothing to a deployed app. We'll install Better-PaaS, log in, and deploy a project. If you want the slower, more explained version, read Getting Started instead.
What you need before you start
- A Linux server (a VPS) running Ubuntu or Debian, with root/sudo access. A small $5/month box is enough to begin.
- The ability to SSH into that server.
- A Git repository with an app you want to deploy.
Step 1 — Install Better-PaaS
SSH into your server, then run the one-command installer:
curl -fsSL https://raw.githubusercontent.com/sumon-ohid/better-paas/main/install.sh | sudo bashThis installs everything Better-PaaS needs — Go, Docker, Nixpacks, Caddy, and Node.js — then builds and starts the dashboard and API.
On a fresh machine this takes a few minutes. Grab a coffee. ☕
If your VPS uses ufw, open the ports Better-PaaS needs:
sudo ufw allow 3000/tcp
sudo ufw allow 8080/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw statusIf your hosting provider has its own cloud firewall, allow the same inbound TCP ports there too.
The installer configures Caddy so it can bind ports 80 and 443 without
running the Better-PaaS backend as root. If app URLs fail and the backend log
says bind: permission denied, fix it with:
sudo setcap 'cap_net_bind_service=+ep' "$(readlink -f "$(command -v caddy)")"
sudo systemctl restart better-paas-backendWhen it finishes, you'll see a summary like this:
═══════════════════════════════════════════════════════
✅ Better-PaaS installed successfully!
═══════════════════════════════════════════════════════
Dashboard: http://localhost:3000
API: http://localhost:8080
🔑 ADMIN TOKEN — you need this to LOG IN to the dashboard
bp_live_a1b2c3d4e5f6... ← copy thisStep 2 — Grab your admin token
The installer prints your admin token — this is the password to your dashboard. Copy it somewhere safe.
Lost it? You can print it again any time:
cd ~/better-paas/backend && ./server tokenStep 3 — Open the dashboard and sign in
In your browser, open the dashboard:
- If Better-PaaS is on your own machine:
http://localhost:3000 - If it's on a remote VPS:
http://YOUR_SERVER_IP:3000
Paste your admin token into the sign-in screen. You're in.
Step 4 — Deploy your first app
- Click Deploy a service.
- Paste your Git repository URL (e.g.
https://github.com/you/my-app). - Pick the branch to deploy (usually
main). - Click Deploy.
Better-PaaS now:
- clones your repo,
- detects the framework and builds it with Nixpacks,
- starts it in a Docker container,
- and routes it through Caddy.
Watch the build logs stream live in the dashboard. When the status turns Running, your app is online. 🎉
Step 5 — Visit your app
Each app gets an automatic URL like:
http://<app-id>.<your-server-ip>.sslip.ioClick the link in the dashboard to open it. (sslip.io is a free service that
turns any IP into a working hostname — no DNS setup needed to get started.)
What's next?
You have a live app. Now make it production-ready: